package 算法.位运算;

public class JZ64求1234n {
    //位运算 递归
    public int Sum_Solution(int n) {
        //通过与运算判断n是否为正数，以结束递归
        boolean flag = (n > 1) && ((n += Sum_Solution(n - 1)) > 0);
        return  n;
    }

    //位运算

    /**
     * 等差数列的前n项和：
     * Sn=[n*(A1+An)]/2
     * Sn=nA1+[n*(n-1)*d]/2
     */
    public int Sum_Solution2(int n) {
        int sum = 0;
        sum = (int) (n + Math.pow(n,2)) >> 1;
        return  sum;
    }
}
